<template>
  <div>
    <div demo-bg>
      <dv-border-box8 :dur="5" style="height:32.5em;">
        <div dv-bg>
          <div class="lis">
            <li>·</li>
            <p>销量排行榜</p>
          </div>
        </div>
        <div class="echarts" ref="divs">
        123
      </div>
      </dv-border-box8>
      
    </div>

  </div>
</template>
    
<script setup lang="ts">
import { BorderBox8 as DvBorderBox8 } from '@kjgl77/datav-vue3'
import { onMounted, ref } from 'vue'
import * as echarts from 'echarts';


let divs = ref()
let salvProName =['安徽省', '河南省', '浙江省', '湖北省', '贵州省', '江西省', '江苏省', '四川省', '云南省', '湖南省']
console.log(salvProName,'123');
let salvProValue =[239,181,154,144,135,117,74,72,67,55];
let salvProMax =[];//背景按最大值
for (let i = 0; i < salvProValue.length; i++) {
    salvProMax.push(salvProValue[0])
}
let option = {
    grid: {
        left: '2%',
        right: '2%',
        bottom: '2%',
        top: '2%',
        containLabel: true
    },
    tooltip: {
        trigger: 'axis',
        axisPointer: {
            type: 'none'
        },
        formatter: function(params: {
name: string; value: string; 
}[]) {
            return params[0].name  + ' : ' + params[0].value
        }
    },
    xAxis: {
        show: false,
        type: 'value'
    },
    yAxis: [{
        type: 'category',
        inverse: true,
        axisLabel: {
            show: true,
            textStyle: {
                color: '#fff'
            },
        },
        splitLine: {
            show: false
        },
        axisTick: {
            show: false
        },
        axisLine: {
            show: false
        },
        data: salvProName
    }, {
        type: 'category',
        inverse: true,
        axisTick: 'none',
        axisLine: 'none',
        show: true,
        axisLabel: {
            textStyle: {
                color: '#ffffff',
                fontSize: '12'
            },
        },
        data:salvProValue
    }],
    series: [{
            name: '值',
            type: 'bar',
            zlevel: 1,
            itemStyle: {
                normal: {
                    barBorderRadius: 30,
                    color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [{
                        offset: 0,
                        color: 'rgb(57,89,255,1)'
                    }, {
                        offset: 1,
                        color: 'rgb(46,200,207,1)'
                    }]),
                },
            },
            barWidth: 20,
            data: salvProValue
        },
        {
            name: '背景',
            type: 'bar',
            barWidth: 20,
            barGap: '-100%',
            data: salvProMax,
            itemStyle: {
                normal: {
                    color: 'rgba(24,31,68,1)',
                    barBorderRadius: 30,
                }
            },
        },
    ]
};
onMounted(() => {
  
  let myChart = echarts.init(divs.value);
  // 绘制图表
  myChart.setOption(option);
})

</script>
<style scoped lang="scss">
.div {
  .lis {
    display: flex;
    align-items: center;
    border-bottom: rgb(32, 124, 181) solid 1px;

    li {
      text-shadow: 0 0 7px rgb(191, 255, 254);
      margin-left: 20px;
      color: #18C7F2;
      font-size: 70px;
      list-style: none;
      line-height: 50px;
      padding-right: 10px;
      padding-bottom: 10px;
    }

    p {
      font-size: 20px;
    }
  }

  .echarts {
    width: 98%;
    height: calc(100% - 60px);
    // background: red;
  }
}
</style>